perm filename TEST2.PAS[S1,ALS]2 blob
sn#411921 filedate 1979-01-24 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00003 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 (*PROGRAM HEADER PAGE*)
C00005 00003 program tstrun (input, output, file0, file1)
C00008 ENDMK
C⊗;
(*PROGRAM HEADER PAGE*)
(*PAS10 OPTIONS*) (* D+,R32,S1300*) (*X10S1*)
(* DEFAULT
D+ DEBUG AND POSTMORTEM DUMP -
E+ EXTERNAL CALLS TO LEVEL 1 PROCEDURES ALLOWED -
Fn FILE OPTION 1
I+ FORTRAN I/O IN EXTERNAL FORTRAN SUBROUTINES -
L+ OBJECT LISTING -
Rn SIZE OF LOW-SEGMENT (SEE PAS10 MANUAL)
Sn MAX INSTRUCTIONS PER STATEMENT 1000
T+ RUNTIME CHECK +
U+ 72 COLUMN FORMAT -
Xn HIGHEST REGISTER FOR PARAMETERS 6
*)
(*SLAC PCPASC OPTIONS*) (* B+,D+,M-*)
(* DEFAULT
A+ GENERATE 370 OBJECT MODULE -
A- GENERATE 370 ASSEMBLY MODULE
B+ BOUNDS CHECKING, BUT ALLOW 'BIG' CHARACTERS -
C+ EMIT PCODE +
D+ RUNTIME CHECKING OF POINTER, INDEX, SUBRANGE VALUES -
E+ FILE IS IN EBCDIC CHARACTER SET -
F+ SAVE FPR'S ON PROCEDURE/FUNCTION ENTRY +
K+ ENABLE STATEMENT EXECUTION COUNTING -
L+ LIST SOURCE PROGRAM +
M+ 72 COLUMN FORMAT +
P+ DOUBLE-WORD BOUNDARY ALIGNMENT -
S+ SAVE GPR'S ON PROCEDURE/FUNCTION ENTRY +
T+ PRINT SYMBOL TABLES (FOR POST-PROCESSOR) -
U+ GET STATISTICS?? 2ND PARAMETER TO PCODE BGN INSTR. -
V+ ?? 3RD PCODE BGN INSTRUCTION PARAMETER -
X+ USE ACTUAL PROCEDURE NAMES FOR EXTERNAL REFERENCES -
X- GENERATE UNIQUE 8-CHAR NAMES FOR EXTERNAL REFERENCES
*)
(*S1 PCPASC OPTION DIFFERENCES*) (*$A+,B+,D+,L-,M120*) (*X10S1*)
(* DEFAULT
A+ GENERATE S1 ASSEMBLY MODULE -
A- GENERATE S1 OBJECT MODULE
*)
(* SLAC/PDP-10 TRANSPORT DEPENDENCIES FLAGGED WITH "XSL10" *)
(* PDP-10/S-1 TRANSPORT DEPENDENCIES FLAGGED WITH "X10S1" *)
program tstrun (input, output, file0, file1);
const
LREAL = 800000.88;
SREAL = 100000.11;
LINT = 800000;
SINT = 100000;
type
rec = record int: integer end;
var
M1,M2,M3,M4,M5,M6: integer;
i,j,k,t1,t2,theta: integer;
r,x,y,z: real;
c: char;
a: packed array[-10..10, -10..10] of char;
file0, file1: packed file of char;
p1, p2, p3, p4: ↑rec;
procedure AA(A1,A2,A3 : integer);
var
A4,A5,A6: integer;
begin
A4 := A1 div A2;
if A1 = M1 then WRITE(OUTPUT,'A1 = M1')
else WRITE(OUTPUT,'A1 ≠ M1');
end;
procedure BB(B2,B3 : integer);
var
B1,B4,B5,B6: integer;
begin
B1 := B2 * B3;
WRITE(OUTPUT,'This is BB C1,C2 PASSED');
AA(B1,B2,B3);
end;
procedure CC(C1: integer);
var
C2,C3,C4,C5,C6: integer;
begin
C2 := SINT;
C3 := C1 div C2;
WRITE(OUTPUT,'This is CC M1 PASSED');
BB(C2,C3);
end;
begin
WRITE(OUTPUT,'This is MM');
M1:= LINT;
CC(M1);
end.